#ifndef _CMD_H_
#define _CMD_H_

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "error.h"

#define FUNC_NAME_LEN 32

#define CMD_BUF_SIZ 256
#define CMD_PROMPT "DIAG>"

#define PARAM_MAXARGS 8

typedef struct cmd{
	char name[FUNC_NAME_LEN];
	int (*func)(int argc, char **argv);
	void (*man)(void);
	int argc;
	char **argv;
} CMD;

#ifdef ENV_SUPPORT
int do_setenv(int, char **);
int do_saveenv(int, char **);
int do_unsetenv(int, char **);
int do_printenv(int, char **);

void man_setenv(void);
void man_saveenv(void);
void man_unsetenv(void);
void man_printenv(void);
#endif

int show_manual(char*); 
void show_current_cmd(void);
void show_cmds(void);
int do_script(char *);
void cmd_loop(FILE *);

#endif

